The present invention relates to a data receiving apparatuses, a data receiving methods, and a computer-readable recording media.
One of main protocols used in Internet communications is TCP/IP. Conventional TCP/IP is mainly implemented by software processing and operated by a CPU of, for example, a personal computer or an embedded device.
However, as wider bandwidths have been available for network infrastructures and video content and so on transmitted over networks recently, network processing load has been increasing and the conventional CPU processing has become insufficient in performance.
As such, TOE (TCP/IP Offload Engine) has been proposed, in which a subprocessor or dedicated hardware, instead of a CPU, performs TCP/IP protocol processing. By using TOE, TCP/IP processing faster than the conventional software processing can be expected.
TOE has various implementations. For example, JP-A 2008-146486 (KOKAI) discloses a communication apparatus including: a subprocessor A that performs part of socket API processing; a subprocessor B that performs TCP/UDP reception processing; a subprocessor C that performs TCP/UDP transmission processing; a subprocessor D that performs MAC driver and IP reception processing; and a subprocessor E that performs MAC driver and IP transmission proceeding, wherein these subprocessors perform parallel processing.
However, JP-A 2008-146486 (KOKAI) only describes that a single subprocessor performs the TCP/UDP reception processing and does not describe how to parallelize the TCP/UDP reception processing itself.
The TCP/UDP reception processing is divided into a plurality of steps such as reading connection information, writing frame data, and writing the updated connection information. How to perform these steps in parallel is an important factor in the performance of TOE.